Q: Sometimes, MacsBug generates a PowerPC unmapped memory exception with an
address that starts with the symbol BowelsOfTheMemoryMgr .
What does this mean?
A: When you are displaying addresses in Macsbug, MacsBug shows offsets from
the last symbol it can find. In the Modern Memory Manager on Power
Macintosh computers up to Mac OS version 7.6, the last symbol
was __HSetStateQ . The code after __HSetStateQ
consists of various
internal Memory Manager subroutines. So, if there's a hang or
crash in an internal Memory Manager subroutine, it shows up in MacsBug
as __HSetStateQ+xxxxxxxx .
Various system software engineers were tired of seeing bug reports that
said __HSetStateQ was crashing, so beginning with Mac OS 7.6, we decided
to add a new last symbol to the Memory Manager. As a consequence, bug reports would be
somewhat more informative. We thought of naming the new symbol
YourHeapIsCorrupt (since that's usually the case when a program crashes
the Memory Manager) but decided on BowelsOfTheMemoryMgr instead because
that's where you are.
So, if you're crashing or hanging at BowelsOfTheMemoryMgr+xxxxxxxx , type
HC to see if your heap is corrupted (it probably will be) and then start
debugging your code to find out how it got corrupted.
Note:
Starting with Mac OS 9.1, this symbol was changed fromt BowelsOfTheMemoryMgr
to the more descriptive name YourHeapIsProbablyCorrupt (r. 2529682).
|
[Feb 01 2001]
|